home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / gtksourceview-2.0 / language-specs / sparql.lang < prev    next >
Encoding:
Extensible Markup Language  |  2010-08-16  |  16.3 KB  |  448 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3.  
  4.  Author: James Leigh <james@leighnet.ca>
  5.  Copyright (C) 2009 James Leigh <james@leighnet.ca>
  6.  
  7.  This library is free software; you can redistribute it and/or
  8.  modify it under the terms of the GNU Library General Public
  9.  License as published by the Free Software Foundation; either
  10.  version 2 of the License, or (at your option) any later version.
  11.  
  12.  This library is distributed in the hope that it will be useful,
  13.  but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  Library General Public License for more details.
  16.  
  17.  You should have received a copy of the GNU Library General Public
  18.  License along with this library; if not, write to the
  19.  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  20.  Boston, MA 02111-1307, USA.
  21.  
  22. -->
  23. <language id="sparql" _name="SPARQL" version="2.0" _section="Sources">
  24.  
  25.   <metadata>
  26.     <property name="mimetypes">application/sparql-query</property>
  27.     <property name="globs">*.rq</property>
  28.     <property name="line-comment-start">#</property>
  29.   </metadata>
  30.  
  31.   <styles>
  32.     <style id="class"      _name="Class"      map-to="def:type"/>
  33.     <style id="datatype"   _name="Data Type"  map-to="def:type"/>
  34.     <style id="function"   _name="Function"   map-to="def:function"/>
  35.     <style id="individual" _name="Individual" map-to="def:special-constant"/>
  36.     <style id="keyword"    _name="Keyword"    map-to="def:keyword"/>
  37.     <style id="namespace"  _name="Namespace"  map-to="def:builtin"/>
  38.     <style id="boolean"    _name="Boolean"    map-to="def:boolean"/>
  39.     <style id="literal"    _name="Literal"    map-to="def:string"/>
  40.     <style id="predicate"  _name="Predicate"  map-to="def:function"/>
  41.     <style id="qname"      _name="QName" />
  42.     <style id="iri"        _name="IRI"        map-to="def:special-constant"/>
  43.     <style id="var"        _name="Variable"   map-to="def:preprocessor"/>
  44.     <style id="operator"   _name="Operator"   map-to="def:operator"/>
  45.   </styles>
  46.  
  47.   <definitions>
  48.  
  49.     <context id="var" style-ref="var">
  50.       <match>[\?\$][a-zA-Z_0-9]+</match>
  51.     </context>
  52.  
  53.     <context id="booleans" style-ref="boolean">
  54.       <keyword>true</keyword>
  55.       <keyword>false</keyword>
  56.     </context>
  57.  
  58.     <context id="a" style-ref="keyword">
  59.       <keyword>a</keyword>
  60.     </context>
  61.  
  62.     <context id="operators" style-ref="operator" extend-parent="false">
  63.       <match>[-.^@,;|\=\+\*\!&<>()\[\]{}]</match>
  64.     </context>
  65.  
  66.     <context id="iri" style-ref="iri">
  67.       <match extended="true">
  68.         <(([a-zA-Z][0-9a-zA-Z+\-\.]*:)?/{0,2}
  69.         [0-9a-zA-Z;/?:@&=+$\.\-_!~*'()%]+)?
  70.         (\#[0-9a-zA-Z;/?:@&=+$\.\-_!~*'()%]*)?>
  71.       </match>
  72.     </context>
  73.  
  74.     <context id="qnames" style-ref="qname">
  75.       <match>(?<!\w)[a-zA-Z_]*:[a-zA-Z0-9_]+\%]</match>
  76.     </context>
  77.  
  78.     <!-- Use define-regex to override case-sensitivity of keywords -->
  79.     <define-regex id="keywords-regex" extended="true" case-sensitive="false">
  80.       \%[(
  81.         ORDER\s+BY   |
  82.         FROM\s+NAMED |
  83.         BASE         |
  84.         SELECT       |
  85.         FROM         |
  86.         PREFIX       |
  87.         CONSTRUCT    |
  88.         LIMIT        |
  89.         DESCRIBE     |
  90.         OFFSET       |
  91.         WHERE        |
  92.         ASK          |
  93.         DISTINCT     |
  94.         REDUCED      |
  95.         GROUP\s+BY   |
  96.         AS           |
  97.         HAVING       |
  98.         GRAPH        |
  99.         OPTIONAL     |
  100.         FILTER       |
  101.         UNION        |
  102.         NOT          |
  103.         EXISTS
  104.       )\%]
  105.     </define-regex>
  106.  
  107.     <!-- Use define-regex to override case-sensitivity of keywords -->
  108.     <define-regex id="functions-regex" extended="true" case-sensitive="false">
  109.       \%[(
  110.         STR         |
  111.         isURI       |
  112.         LANG        |
  113.         isIRI       |
  114.         LANGMATCHES |
  115.         isLITERAL   |
  116.         DATATYPE    |
  117.         REGEX       |
  118.         BOUND       |
  119.         sameTERM    |
  120.         DESC        |
  121.         ASC         |
  122.         SUM         |
  123.         AVG         |
  124.         COUNT       |
  125.         MIN         |
  126.         MAX
  127.       )\%]
  128.     </define-regex>
  129.  
  130.     <context id="keywords" style-ref="keyword">
  131.       <match>\%{keywords-regex}</match>
  132.     </context>
  133.  
  134.     <context id="functions" style-ref="function">
  135.       <match>\%{functions-regex}</match>
  136.     </context>
  137.  
  138.     <context id="namespaces" style-ref="namespace">
  139.       <match extended="true">
  140.         xsd:\s*<http://www.w3.org/2001/XMLSchema\#>           |
  141.         rdf:\s*<http://www.w3.org/1999/02/22-rdf-syntax-ns\#> |
  142.         rdfs:\s*<http://www.w3.org/2000/01/rdf-schema\#>      |
  143.         owl:\s*<http://www.w3.org/2002/07/owl\#>              |
  144.         dcam:\s*<http://purl.org/dc/dcam/>                    |
  145.         dc:\s*<http://purl.org/dc/elements/1.1/>              |
  146.         dcterms:\s*<http://purl.org/dc/terms/>                |
  147.         skos:\s*<http://www.w3.org/2004/02/skos/core\#>
  148.       </match>
  149.     </context>
  150.  
  151.     <context id="datatypes" style-ref="datatype">
  152.       <keyword>xsd:ID</keyword>
  153.       <keyword>xsd:IDREF</keyword>
  154.       <keyword>xsd:NCName</keyword>
  155.       <keyword>xsd:NMTOKEN</keyword>
  156.       <keyword>xsd:Name</keyword>
  157.       <keyword>xsd:anyAtomicType</keyword>
  158.       <keyword>xsd:anyURI</keyword>
  159.       <keyword>xsd:base64Binary</keyword>
  160.       <keyword>xsd:boolean</keyword>
  161.       <keyword>xsd:byte</keyword>
  162.       <keyword>xsd:date</keyword>
  163.       <keyword>xsd:dateTime</keyword>
  164.       <keyword>xsd:dayTimeDuration</keyword>
  165.       <keyword>xsd:decimal</keyword>
  166.       <keyword>xsd:double</keyword>
  167.       <keyword>xsd:duration</keyword>
  168.       <keyword>xsd:float</keyword>
  169.       <keyword>xsd:gDay</keyword>
  170.       <keyword>xsd:gMonth</keyword>
  171.       <keyword>xsd:gMonthDay</keyword>
  172.       <keyword>xsd:gYear</keyword>
  173.       <keyword>xsd:gYearMonth</keyword>
  174.       <keyword>xsd:hexBinary</keyword>
  175.       <keyword>xsd:int</keyword>
  176.       <keyword>xsd:integer</keyword>
  177.       <keyword>xsd:language</keyword>
  178.       <keyword>xsd:long</keyword>
  179.       <keyword>xsd:negativeInteger</keyword>
  180.       <keyword>xsd:nonNegativeInteger</keyword>
  181.       <keyword>xsd:nonPositiveInteger</keyword>
  182.       <keyword>xsd:normalizedString</keyword>
  183.       <keyword>xsd:precisionDecimal</keyword>
  184.       <keyword>xsd:positiveInteger</keyword>
  185.       <keyword>xsd:short</keyword>
  186.       <keyword>xsd:string</keyword>
  187.       <keyword>xsd:time</keyword>
  188.       <keyword>xsd:token</keyword>
  189.       <keyword>xsd:unsignedByte</keyword>
  190.       <keyword>xsd:unsignedInt</keyword>
  191.       <keyword>xsd:unsignedLong</keyword>
  192.       <keyword>xsd:unsignedShort</keyword>
  193.       <keyword>xsd:yearMonthDuration</keyword>
  194.       <keyword>dcterms:Box</keyword>
  195.       <keyword>dcterms:ISO3166</keyword>
  196.       <keyword>dcterms:ISO639-2</keyword>
  197.       <keyword>dcterms:ISO639-3</keyword>
  198.       <keyword>dcterms:Period</keyword>
  199.       <keyword>dcterms:Point</keyword>
  200.       <keyword>dcterms:RFC1766</keyword>
  201.       <keyword>dcterms:RFC3066</keyword>
  202.       <keyword>dcterms:RFC4646</keyword>
  203.       <keyword>dcterms:URI</keyword>
  204.       <keyword>dcterms:W3CDTF</keyword>
  205.     </context>
  206.  
  207.     <context id="classes" style-ref="class">
  208.       <keyword>rdf:Property</keyword>
  209.       <keyword>rdf:Statement</keyword>
  210.       <keyword>rdf:Bag</keyword>
  211.       <keyword>rdf:Seq</keyword>
  212.       <keyword>rdf:Alt</keyword>
  213.       <keyword>rdf:List</keyword>
  214.       <keyword>rdf:XMLLiteral</keyword>
  215.       <keyword>rdfs:Resource</keyword>
  216.       <keyword>rdfs:Class</keyword>
  217.       <keyword>rdfs:Literal</keyword>
  218.       <keyword>rdfs:Container</keyword>
  219.       <keyword>rdfs:ContainerMembershipProperty</keyword>
  220.       <keyword>rdfs:Datatype</keyword>
  221.       <keyword>owl:Class</keyword>
  222.       <keyword>owl:Thing</keyword>
  223.       <keyword>owl:Nothing</keyword>
  224.       <keyword>owl:AllDifferent</keyword>
  225.       <keyword>owl:Restriction</keyword>
  226.       <keyword>owl:ObjectProperty</keyword>
  227.       <keyword>owl:DatatypeProperty</keyword>
  228.       <keyword>owl:TransitiveProperty</keyword>
  229.       <keyword>owl:SymmetricProperty</keyword>
  230.       <keyword>owl:FunctionalProperty</keyword>
  231.       <keyword>owl:InverseFunctionalProperty</keyword>
  232.       <keyword>owl:AnnotationProperty</keyword>
  233.       <keyword>owl:Ontology</keyword>
  234.       <keyword>owl:OntologyProperty</keyword>
  235.       <keyword>owl:DeprecatedClass</keyword>
  236.       <keyword>owl:DeprecatedProperty</keyword>
  237.       <keyword>owl:DataRange</keyword>
  238.       <keyword>skos:Collection</keyword>
  239.       <keyword>skos:Concept</keyword>
  240.       <keyword>skos:ConceptScheme</keyword>
  241.       <keyword>skos:OrderedCollection</keyword>
  242.       <keyword>dcam:VocabularyEncodingScheme</keyword>
  243.       <keyword>dcterms:Agent</keyword>
  244.       <keyword>dcterms:AgentClass</keyword>
  245.       <keyword>dcterms:BibliographicResource</keyword>
  246.       <keyword>dcterms:FileFormat</keyword>
  247.       <keyword>dcterms:Frequency</keyword>
  248.       <keyword>dcterms:Jurisdiction</keyword>
  249.       <keyword>dcterms:LicenseDocument</keyword>
  250.       <keyword>dcterms:LinguisticSystem</keyword>
  251.       <keyword>dcterms:Location</keyword>
  252.       <keyword>dcterms:LocationPeriodOrJurisdiction</keyword>
  253.       <keyword>dcterms:MediaType</keyword>
  254.       <keyword>dcterms:MediaTypeOrExtent</keyword>
  255.       <keyword>dcterms:MethodOfAccrual</keyword>
  256.       <keyword>dcterms:MethodOfInstruction</keyword>
  257.       <keyword>dcterms:PeriodOfTime</keyword>
  258.       <keyword>dcterms:PhysicalMedium</keyword>
  259.       <keyword>dcterms:PhysicalResource</keyword>
  260.       <keyword>dcterms:Policy</keyword>
  261.       <keyword>dcterms:ProvenanceStatement</keyword>
  262.       <keyword>dcterms:RightsStatement</keyword>
  263.       <keyword>dcterms:SizeOrDuration</keyword>
  264.       <keyword>dcterms:Standard</keyword>
  265.     </context>
  266.  
  267.     <context id="predicates" style-ref="predicate">
  268.       <keyword>rdf:type</keyword>
  269.       <keyword>rdf:subject</keyword>
  270.       <keyword>rdf:predicate</keyword>
  271.       <keyword>rdf:object</keyword>
  272.       <keyword>rdf:value</keyword>
  273.       <keyword>rdf:first</keyword>
  274.       <keyword>rdf:rest</keyword>
  275.       <keyword>rdfs:subClassOf</keyword>
  276.       <keyword>rdfs:subPropertyOf</keyword>
  277.       <keyword>rdfs:comment</keyword>
  278.       <keyword>rdfs:label</keyword>
  279.       <keyword>rdfs:domain</keyword>
  280.       <keyword>rdfs:range</keyword>
  281.       <keyword>rdfs:seeAlso</keyword>
  282.       <keyword>rdfs:isDefinedBy</keyword>
  283.       <keyword>rdfs:member</keyword>
  284.       <keyword>owl:equivalentClass</keyword>
  285.       <keyword>owl:disjointWith</keyword>
  286.       <keyword>owl:equivalentProperty</keyword>
  287.       <keyword>owl:sameAs</keyword>
  288.       <keyword>owl:differentFrom</keyword>
  289.       <keyword>owl:distinctMembers</keyword>
  290.       <keyword>owl:unionOf</keyword>
  291.       <keyword>owl:intersectionOf</keyword>
  292.       <keyword>owl:complementOf</keyword>
  293.       <keyword>owl:oneOf</keyword>
  294.       <keyword>owl:onProperty</keyword>
  295.       <keyword>owl:allValuesFrom</keyword>
  296.       <keyword>owl:hasValue</keyword>
  297.       <keyword>owl:someValuesFrom</keyword>
  298.       <keyword>owl:minCardinality</keyword>
  299.       <keyword>owl:maxCardinality</keyword>
  300.       <keyword>owl:cardinality</keyword>
  301.       <keyword>owl:inverseOf</keyword>
  302.       <keyword>owl:imports</keyword>
  303.       <keyword>owl:versionInfo</keyword>
  304.       <keyword>owl:priorVersion</keyword>
  305.       <keyword>owl:backwardCompatibleWith</keyword>
  306.       <keyword>owl:incompatibleWith</keyword>
  307.       <keyword>skos:altLabel</keyword>
  308.       <keyword>skos:broadMatch</keyword>
  309.       <keyword>skos:broader</keyword>
  310.       <keyword>skos:broaderTransitive</keyword>
  311.       <keyword>skos:changeNote</keyword>
  312.       <keyword>skos:closeMatch</keyword>
  313.       <keyword>skos:definition</keyword>
  314.       <keyword>skos:editorialNote</keyword>
  315.       <keyword>skos:exactMatch</keyword>
  316.       <keyword>skos:example</keyword>
  317.       <keyword>skos:hasTopConcept</keyword>
  318.       <keyword>skos:hiddenLabel</keyword>
  319.       <keyword>skos:historyNote</keyword>
  320.       <keyword>skos:inScheme</keyword>
  321.       <keyword>skos:mappingRelation</keyword>
  322.       <keyword>skos:member</keyword>
  323.       <keyword>skos:memberList</keyword>
  324.       <keyword>skos:narrowMatch</keyword>
  325.       <keyword>skos:narrower</keyword>
  326.       <keyword>skos:narrowerTransitive</keyword>
  327.       <keyword>skos:notation</keyword>
  328.       <keyword>skos:note</keyword>
  329.       <keyword>skos:prefLabel</keyword>
  330.       <keyword>skos:related</keyword>
  331.       <keyword>skos:relatedMatch</keyword>
  332.       <keyword>skos:scopeNote</keyword>
  333.       <keyword>skos:semanticRelation</keyword>
  334.       <keyword>skos:topConceptOf</keyword>
  335.       <keyword>dc:contributor</keyword>
  336.       <keyword>dc:coverage</keyword>
  337.       <keyword>dc:creator</keyword>
  338.       <keyword>dc:date</keyword>
  339.       <keyword>dc:description</keyword>
  340.       <keyword>dc:format</keyword>
  341.       <keyword>dc:identifier</keyword>
  342.       <keyword>dc:language</keyword>
  343.       <keyword>dc:publisher</keyword>
  344.       <keyword>dc:relation</keyword>
  345.       <keyword>dc:rights</keyword>
  346.       <keyword>dc:source</keyword>
  347.       <keyword>dc:subject</keyword>
  348.       <keyword>dc:title</keyword>
  349.       <keyword>dc:type</keyword>
  350.       <keyword>dcam:memberOf</keyword>
  351.       <keyword>dcterms:abstract</keyword>
  352.       <keyword>dcterms:accessRights</keyword>
  353.       <keyword>dcterms:accrualMethod</keyword>
  354.       <keyword>dcterms:accrualPeriodicity</keyword>
  355.       <keyword>dcterms:accrualPolicy</keyword>
  356.       <keyword>dcterms:alternative</keyword>
  357.       <keyword>dcterms:audience</keyword>
  358.       <keyword>dcterms:available</keyword>
  359.       <keyword>dcterms:bibliographicCitation</keyword>
  360.       <keyword>dcterms:conformsTo</keyword>
  361.       <keyword>dcterms:contributor</keyword>
  362.       <keyword>dcterms:coverage</keyword>
  363.       <keyword>dcterms:created</keyword>
  364.       <keyword>dcterms:creator</keyword>
  365.       <keyword>dcterms:date</keyword>
  366.       <keyword>dcterms:dateAccepted</keyword>
  367.       <keyword>dcterms:dateCopyrighted</keyword>
  368.       <keyword>dcterms:dateSubmitted</keyword>
  369.       <keyword>dcterms:description</keyword>
  370.       <keyword>dcterms:educationLevel</keyword>
  371.       <keyword>dcterms:extent</keyword>
  372.       <keyword>dcterms:format</keyword>
  373.       <keyword>dcterms:hasFormat</keyword>
  374.       <keyword>dcterms:hasPart</keyword>
  375.       <keyword>dcterms:hasVersion</keyword>
  376.       <keyword>dcterms:identifier</keyword>
  377.       <keyword>dcterms:instructionalMethod</keyword>
  378.       <keyword>dcterms:isFormatOf</keyword>
  379.       <keyword>dcterms:isPartOf</keyword>
  380.       <keyword>dcterms:isReferencedBy</keyword>
  381.       <keyword>dcterms:isReplacedBy</keyword>
  382.       <keyword>dcterms:isRequiredBy</keyword>
  383.       <keyword>dcterms:issued</keyword>
  384.       <keyword>dcterms:isVersionOf</keyword>
  385.       <keyword>dcterms:language</keyword>
  386.       <keyword>dcterms:license</keyword>
  387.       <keyword>dcterms:mediator</keyword>
  388.       <keyword>dcterms:medium</keyword>
  389.       <keyword>dcterms:modified</keyword>
  390.       <keyword>dcterms:provenance</keyword>
  391.       <keyword>dcterms:publisher</keyword>
  392.       <keyword>dcterms:references</keyword>
  393.       <keyword>dcterms:relation</keyword>
  394.       <keyword>dcterms:replaces</keyword>
  395.       <keyword>dcterms:requires</keyword>
  396.       <keyword>dcterms:rights</keyword>
  397.       <keyword>dcterms:rightsHolder</keyword>
  398.       <keyword>dcterms:source</keyword>
  399.       <keyword>dcterms:spatial</keyword>
  400.       <keyword>dcterms:subject</keyword>
  401.       <keyword>dcterms:tableOfContents</keyword>
  402.       <keyword>dcterms:temporal</keyword>
  403.       <keyword>dcterms:title</keyword>
  404.       <keyword>dcterms:type</keyword>
  405.       <keyword>dcterms:valid</keyword>
  406.     </context>
  407.  
  408.     <context id="individuals" style-ref="individual">
  409.       <keyword>rdf:nil</keyword>
  410.       <keyword>dcterms:DCMIType</keyword>
  411.       <keyword>dcterms:DDC</keyword>
  412.       <keyword>dcterms:IMT</keyword>
  413.       <keyword>dcterms:LCC</keyword>
  414.       <keyword>dcterms:LCSH</keyword>
  415.       <keyword>dcterms:MESH</keyword>
  416.       <keyword>dcterms:NLM</keyword>
  417.       <keyword>dcterms:TGN</keyword>
  418.       <keyword>dcterms:UDC</keyword>
  419.     </context>
  420.  
  421.     <context id="sparql">
  422.       <include>
  423.         <context ref="def:shell-like-comment"/>
  424.         <context ref="def:string"/>
  425.         <context ref="def:decimal"/>
  426.         <context ref="def:float"/>
  427.         <context ref="def:hexadecimal"/>
  428.  
  429.         <context ref="keywords"/>
  430.         <context ref="namespaces"/>
  431.         <context ref="functions"/>
  432.         <context ref="datatypes"/>
  433.         <context ref="classes"/>
  434.         <context ref="predicates"/>
  435.         <context ref="individuals"/>
  436.         <context ref="qnames"/>
  437.  
  438.         <context ref="iri"/>
  439.         <context ref="var"/>
  440.         <context ref="booleans"/>
  441.         <context ref="a"/>
  442.         <context ref="operators"/>
  443.       </include>
  444.     </context>
  445.   </definitions>
  446.  
  447. </language>
  448.